package com.crm.jdy.common.dto.activiti;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Map;

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ProcessDto implements Serializable {

    @ApiModelProperty(name = "Id" , value = "流程定义ID")
    private String Id;

    @ApiModelProperty(name = "Key" , value = "流程定义的key")
    private String Key;

    @ApiModelProperty(name = "Name" , value = "流程定义的名称")
    private String Name;

    @ApiModelProperty(name = "Version" , value = "流程定义的版本")
    private String Version;

    @NotNull(message = "拜访计划id不能为空")
    @ApiModelProperty(name = "TenantId" , value = "拜访计划id")
    private String TenantId;

    @ApiModelProperty(name = "ResourceName" , value = "资源名称bpmn文件")
    private String ResourceName;

    @ApiModelProperty(name = "DiagramResourceName" , value = "资源名称png文件")
    private String DiagramResourceName;

    @ApiModelProperty(name = "Description" , value = "流程描述信息")
    private String Description;

    @NotNull(message = "部署对象id不能为空")
    @ApiModelProperty(name = "DeploymentId" , value = "部署对象ID")
    private String DeploymentId;

    @ApiModelProperty(name = "Category" , value = "流程的种类")
    private String Category;

    @ApiModelProperty(name = "ProcessDefinitionId" , value = "流程定义的ID")
    private String ProcessDefinitionId;

    @NotNull(message = "流程活动id不能为空")
    @ApiModelProperty(name = "ActivityId" , value = "流程活动的ID")
    private String ActivityId;

    @ApiModelProperty(name = "CreateTime" , value = "创建日期")
    private String CreateTime;

    @ApiModelProperty(name = "Assignee" , value = "办理人")
    private String Assignee;

    @ApiModelProperty(name = "ProcessInstanceId" , value = "流程实例ID")
    private String ProcessInstanceId;

    @ApiModelProperty(name = "ExecutionId" , value = "执行对象ID")
    private String ExecutionId;



    @ApiModelProperty(name = "map" , value = "启动流程的参数")
    private Map<String,Object> map ;
}
